/**
 * @Project : algorithm-learning
 * @Author : Ruoyu Wang
 * @User : Momenta
 * @DateTime : 2024/3/24 13:43
 */

//小红定义两个数组是互斥的，当且仅当数组每一个位置的数字都不同。
//小红有两个长度为n的数组，分别是a和b，她想知道有多少个区间对应的子数组是互斥的。
//
//输入描述
//  第一行输入一个整数n(1≤n≤10^5)表示数组长度。
//  第二行输入n个整数表示数组a(1≤ai≤10^9)。
//  第三行输入n个整数表示数组b(1≤bi≤10^9)。
//
//输出描述
//  输出一个整数。
//
//示例1
//输入
//3
//1 2 3
//3 2 1
//输出
//2
//说明
//  [1,1],[3,3]区间对应的子数组是互斥的，其他区间对应的子数组都不是互斥的。

#include <iostream>

using namespace std;

int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    int b[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    for (int i = 0; i < n; i++) {
        scanf("%d", &b[i]);
    }
    long long res = 0;
    int l = 0;
    int r = 0;
    for (; r < n; r++) {
        if (a[r] == b[r]) {
            res += (long long) (1 + r - l) * (r - l) / 2;
            l = r + 1;
        }
    }
    res += (long long) (1 + r - l) * (r - l) / 2;
    printf("%lld", res);
    return 0;
}